
const defaultAvatarUrl1 = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'

// pages/oneself/oneself.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    pic: defaultAvatarUrl1,
    statusBarHeight: 0,
    navBarHeight: 44,
    scene: '',
    nickname: ''
  },


  // 头像选择事件处理
  chooseavatar: function (e: { detail: any }) {
    if (e.detail && e.detail.avatarUrl) {
      const pic = e.detail.avatarUrl;
      this.setData({
        pic: pic
      });
      // 保存头像到本地存储
      wx.setStorageSync('userAvatar', pic);
      
      // 如果已有昵称，头像更新后重新登录
      const nickname = wx.getStorageSync('userNickname');
      if (nickname && nickname.trim()) {
        this.checkAndLogin();
      }
    } else {
      console.error('头像选择失败:', e.detail);
    }
  },

  // 昵称输入事件处理
  onNicknameInput: function (e: { detail: { value: string } }) {
    const nickname = e.detail.value;
    this.setData({
      nickname: nickname
    });
    // 保存昵称到本地存储
    if (nickname && nickname.trim()) {
      wx.setStorageSync('userNickname', nickname.trim());
      console.log('昵称已保存:', nickname.trim());
      
      // 昵称保存后，触发登录流程
      this.checkAndLogin();
    }
  },

  // 检查并登录
  checkAndLogin: function () {
    const nickname = wx.getStorageSync('userNickname');
    if (!nickname || !nickname.trim()) {
      return;
    }

    // 获取头像
    const avatar = wx.getStorageSync('userAvatar') || this.data.pic || defaultAvatarUrl1;

    // 获取 code 并发送登录请求
    wx.login({
      success: (res) => {
        if (res.code) {
          const app = getApp<IAppOption>();
          if (app.loginWithNickname) {
            app.loginWithNickname(res.code, nickname.trim(), avatar);
          }
        }
      },
      fail: (err) => {
        console.error('wx.login 调用失败', err);
      }
    });
  },

  // 设置导航项点击事件
  onSettingsClick(e: any) {
    const type = e.currentTarget.dataset.type;
    wx.showToast({
      title: '正在开发中',
      icon: 'none',
      duration: 2000
    });
    console.log('点击了设置项:', type);
  },

  // 服务导航项点击事件
  onServiceClick(e: any) {
    const type = e.currentTarget.dataset.type;
    wx.showToast({
      title: '正在开发中',
      icon: 'none',
      duration: 2000
    });
    console.log('点击了服务项:', type);
  },

  // 订单导航项点击事件
  onOrderClick(e: any) {
    const type = e.currentTarget.dataset.type;
    wx.showToast({
      title: '正在开发中',
      icon: 'none',
      duration: 2000
    });
    console.log('点击了订单项:', type);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(query: any) {
    const systemInfo = wx.getSystemInfoSync();
    const statusBarHeight = systemInfo.statusBarHeight || 0;
    const menuButton = wx.getMenuButtonBoundingClientRect ? wx.getMenuButtonBoundingClientRect() : null;
    let navBarHeight = 36;
    if (menuButton && statusBarHeight) {
      navBarHeight = Math.max(28, (menuButton.bottom - menuButton.top) + (menuButton.top - statusBarHeight) * 2 - 8);
    }
    this.setData({ statusBarHeight, navBarHeight });

    console.log('页面加载，当前头像:', this.data.pic);
    const savedAvatar = wx.getStorageSync('userAvatar');
    if (savedAvatar) {
      this.setData({
        pic: savedAvatar
      });
    }
    
    // 加载保存的昵称
    const savedNickname = wx.getStorageSync('userNickname');
    if (savedNickname) {
      this.setData({
        nickname: savedNickname
      });
    }
    
    // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
    if (query.scene) {
      const scene = decodeURIComponent(query.scene);
      console.log('获取到二维码scene值:', scene);
      this.setData({
        scene: scene
      });
    }else{
      console.log('没有获取到二维码scene值');
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})